#include <iostream>

using namespace std;

int main() {

    int a = 10;
    int * p = &a;

    // 32位系统中，指针占4个字节，64位中，占8个字节
    cout << "p = " << p <<endl;
    cout << "a地址为：" << &a <<endl;

    cout << "sizeof(int *)= " << sizeof(int *) << endl;
    cout << "sizeof(float *)= " << sizeof(float *) << endl;
    cout << "sizeof(double *)= " << sizeof(double *) << endl;
    cout << "sizeof(char *)= " << sizeof(char *) << endl;

    /*
     *  空指针  指针变量指向内存中编号为0的空间
     *      用途  初始化指针变量
     *      空指针指向的内存是不可以访问的
     *
     *  内存中0~255之间的内存是不能访问的
     */

    int * p2 = NULL;  // 指向为0的空间
//    *p2 = 100;  // 访问会报错
//    cout << "p2 = " << *p2 << endl;

    /*
     * 野指针
     *      指针变量指向非法的内存空间
     */

    int * p3 = (int *)0x1100;
    cout << *p3 << endl;

    return 0;
}
